package com.lanswon.qzsmk.service.systemManageService;

import java.util.List;

import javax.jws.WebParam;

import com.lanswon.qzsmk.model.CardProdunctDefinition;
import com.lanswon.qzsmk.model.CardType;
import com.lanswon.qzsmk.vo.BusiParamVo;
import com.lanswon.qzsmk.vo.CardProdunctVo;
import com.lanswon.qzsmk.vo.ResultVo;


/**
 * 新增履历
 * 工程项目名称：青州市民卡核心系统
 * 方法名：制卡模块-CardParameterManagement
 * 版本： ver 1.0  初版
 * 创建日期：20190319
 * 创建人：鱼洲杰
 */
public interface CardParameterManagementService {

	/**
	 * 根据ID值获取卡产品信息
	 */
	public CardProdunctDefinition queryCardProductByID(String id) throws Exception;
	
	/**
	 * 获取所有的卡产品（分页）
	 */
	public ResultVo  queryAllCardProdunct(@WebParam (name="CardProdunctVo")CardProdunctVo cpv);
	/**
	 * 生成卡产品
	 */
	public void AddProductTask(CardProdunctVo cpv) throws Exception;

	/**
	 * 查询卡类型代码
	 * @return
	 */
	List<CardType> queryAllCardType();
	
	/**
	 * 根据卡类型代码修改卡产品信息
	 * @param cardTaskNo
	 */
	public void modifyCardTaskByCityCode(CardProdunctVo cpv);
	/**
     * 启用卡产品
	  * @param cardTaskNos
	  */
	public void startProduct(CardProdunctDefinition  cpv);
	/**
	 * 根据卡类型代码号获取卡产品
	 * @param code
	 * @return
	 */
	public CardProdunctDefinition queryCardProductByCode(String CardTypeCode) throws Exception;

	/**
	 * 获取所有的卡业务参数
	 */
	public ResultVo  queryAllBusiParam(@WebParam (name="BusiParamVo")BusiParamVo bpv);
	/**
	 * 生成卡业务参数
	 */
	public void addBusPara(BusiParamVo bpv) throws Exception;

	/**
	 * 根据卡类型代码修改卡产品信息
	 * @param cardTaskNo
	 */
	public void modifyCardBusParaByCityCode(BusiParamVo bpv);
	/**
	 * 根据卡类型代码号获取卡业务参数
	 * @param code
	 * @return
	 */
	public BusiParamVo queryCardBusiParamByCode(String CardTypeCode) throws Exception;
	/**
	 * 根据卡类型名称获取卡产品
	 * @param code
	 * @return
	 */
	public CardProdunctDefinition queryCardProductByName(String cardpName);

	/**
	 * 根据id和名称获取卡产品组
	 * @param id
	 * @return
	 */
	public List<CardProdunctDefinition> queryCardProductByIdS(List idList);
	
	/**
	 * 根据id和名称获取卡产品组
	 * @param id
	 * @return
	 */
	public CardProdunctDefinition queryCardProductById(String id);
	/**
	 * 获取所有的卡产品
	 * @param id
	 * @return
	 */
	public ResultVo queryAllCardProdunctDefinition();

}

